diff --git a/share/qtcreator/externaltools/lrelease.xml b/share/qtcreator/externaltools/lrelease.xml index 5629ca39508..86b05343c4c 100644 --- a/share/qtcreator/externaltools/lrelease.xml +++ b/share/qtcreator/externaltools/lrelease.xml @@ -29,7 +29,7 @@ ** **************************************************************************/ --> - + Creates qm translation files that can be used by an application from the translator's ts files Erstellt die von Anwendungen nutzbaren qm-Dateien aus ts-Dateien von Übersetzern Release translations (lrelease) diff --git a/share/qtcreator/externaltools/lupdate.xml b/share/qtcreator/externaltools/lupdate.xml index 1ee57cd71e4..ba8b05053ac 100644 --- a/share/qtcreator/externaltools/lupdate.xml +++ b/share/qtcreator/externaltools/lupdate.xml @@ -29,7 +29,7 @@ ** **************************************************************************/ --> - + Synchronizes translator's ts files with the program code Synchronisiert die ts-Übersetzungsdateien mit dem Programmcode Update translations (lupdate) diff --git a/share/qtcreator/externaltools/sort.xml b/share/qtcreator/externaltools/sort.xml index c7c5a826ae2..92cd550cd3d 100644 --- a/share/qtcreator/externaltools/sort.xml +++ b/share/qtcreator/externaltools/sort.xml @@ -29,7 +29,7 @@ ** **************************************************************************/ --> - + Sorts the selected text Sortiert den ausgewählten Text Sort diff --git a/share/qtcreator/externaltools/vi.xml b/share/qtcreator/externaltools/vi.xml index b76ba327e9a..dd4a88a4530 100644 --- a/share/qtcreator/externaltools/vi.xml +++ b/share/qtcreator/externaltools/vi.xml @@ -29,7 +29,7 @@ ** **************************************************************************/ --> - + Opens the current file in vi Öffnet die aktuelle Datei in vi Edit with vi diff --git a/src/plugins/coreplugin/externaltool.cpp b/src/plugins/coreplugin/externaltool.cpp index 2cf22c4ee4a..e5eda6593be 100644 --- a/src/plugins/coreplugin/externaltool.cpp +++ b/src/plugins/coreplugin/externaltool.cpp @@ -59,6 +59,11 @@ ExternalTool::ExternalTool() : { } +QString ExternalTool::id() const +{ + return m_id; +} + QString ExternalTool::description() const { return m_description; @@ -153,6 +158,9 @@ ExternalTool * ExternalTool::createFromXml(const QString &xml, QString *errorMes if (!reader.readNextStartElement() || reader.name() != QLatin1String(kExternalTool)) reader.raiseError(QLatin1String("Missing start element ")); + tool->m_id = reader.attributes().value(QLatin1String("id")).toString(); + if (tool->m_id.isEmpty()) + reader.raiseError(QLatin1String("Missing or empty id attribute for ")); while (reader.readNextStartElement()) { if (reader.name() == QLatin1String(kDescription)) { localizedText(locales, &reader, &descriptionLocale, &tool->m_description); diff --git a/src/plugins/coreplugin/externaltool.h b/src/plugins/coreplugin/externaltool.h index bb45d47291a..850c8bf6ca0 100644 --- a/src/plugins/coreplugin/externaltool.h +++ b/src/plugins/coreplugin/externaltool.h @@ -47,6 +47,7 @@ public: ExternalTool(); + QString id() const; QString description() const; QString displayName() const; QString displayCategory() const; @@ -60,6 +61,7 @@ public: static ExternalTool *createFromXml(const QString &xml, QString *errorMessage = 0, const QString &locale = QString()); private: + QString m_id; QString m_description; QString m_displayName; QString m_displayCategory; diff --git a/tests/auto/externaltool/tst_externaltooltest.cpp b/tests/auto/externaltool/tst_externaltooltest.cpp index 33f24faad2c..35479c931aa 100644 --- a/tests/auto/externaltool/tst_externaltooltest.cpp +++ b/tests/auto/externaltool/tst_externaltooltest.cpp @@ -6,7 +6,7 @@ using namespace Core::Internal; static const char * const TEST_XML1 = -"" +"" " Synchronizes translator's ts files with the program code" " Synchronisiert die ts-Übersetzungsdateien mit dem Programmcode" " Update translations (lupdate)" @@ -24,7 +24,7 @@ static const char * const TEST_XML1 = ; static const char * const TEST_XML2 = -"" +"" " Sorts the selected text" " Sortiert den ausgewählten Text" " Sort" @@ -39,7 +39,7 @@ static const char * const TEST_XML2 = ""; static const char * const TEST_XML3 = -"" +"" " Opens the current file in vi" " Öffnet die aktuelle Datei in vi" " Edit with vi" @@ -54,7 +54,7 @@ static const char * const TEST_XML3 = ""; static const char * const TEST_XML_LANG = -"" +"" " Hi" " Hallo" " Grüezi" @@ -86,6 +86,7 @@ void ExternaltoolTest::testRead1() ExternalTool *tool = ExternalTool::createFromXml(QLatin1String(TEST_XML1), &error); QVERIFY(tool != 0); QVERIFY(error.isEmpty()); + QCOMPARE(tool->id(), QString::fromLatin1("lupdate")); QVERIFY(tool->description().startsWith(QLatin1String("Synchronizes tran"))); QCOMPARE(tool->displayName(), QString::fromLatin1("Update translations (lupdate)")); QCOMPARE(tool->displayCategory(), QString::fromLatin1("Linguist")); @@ -105,6 +106,7 @@ void ExternaltoolTest::testRead2() ExternalTool *tool = ExternalTool::createFromXml(QLatin1String(TEST_XML2), &error); QVERIFY(tool != 0); QVERIFY(error.isEmpty()); + QCOMPARE(tool->id(), QString::fromLatin1("sort")); QVERIFY(tool->description().startsWith(QLatin1String("Sorts the"))); QCOMPARE(tool->displayName(), QString::fromLatin1("Sort")); QCOMPARE(tool->displayCategory(), QString::fromLatin1("Text")); @@ -123,6 +125,7 @@ void ExternaltoolTest::testRead3() ExternalTool *tool = ExternalTool::createFromXml(QLatin1String(TEST_XML3), &error); QVERIFY(tool != 0); QVERIFY(error.isEmpty()); + QCOMPARE(tool->id(), QString::fromLatin1("vi")); QVERIFY(tool->description().startsWith(QLatin1String("Opens the"))); QCOMPARE(tool->displayName(), QString::fromLatin1("Edit with vi")); QCOMPARE(tool->displayCategory(), QString::fromLatin1("Text"));