diff --git a/share/qtcreator/translations/extract-mimetypes.xq.in b/share/qtcreator/translations/extract-mimetypes.xq.in new file mode 100644 index 0000000000000000000000000000000000000000..8a4bb835f7ddfe3c8c42ddafd24d235602b88415 --- /dev/null +++ b/share/qtcreator/translations/extract-mimetypes.xq.in @@ -0,0 +1,6 @@ +let $files := ( $$MIMETYPES_FILES ) +let $prefix := string(\"QT_TRANSLATE_NOOP("MimeType", "\") +let $suffix := concat(\"")\", codepoints-to-string(10)) +for $file in $files + for $comment in doc($file)/*:mime-info/*:mime-type/*:comment + return fn:concat($prefix, data($comment), $suffix) diff --git a/share/qtcreator/translations/translations.pro b/share/qtcreator/translations/translations.pro index f56a2324e2137f90514fa11240c442d057c945d7..844d427b98e8777775b2540875b56f2cab85436f 100644 --- a/share/qtcreator/translations/translations.pro +++ b/share/qtcreator/translations/translations.pro @@ -8,13 +8,25 @@ defineReplace(prependAll) { return($$result) } +XMLPATTERNS = $$targetPath($$[QT_INSTALL_BINS]/xmlpatterns) LUPDATE = $$targetPath($$[QT_INSTALL_BINS]/lupdate) -locations relative -no-ui-lines LRELEASE = $$targetPath($$[QT_INSTALL_BINS]/lrelease) TRANSLATIONS = $$prependAll(LANGUAGES, $$PWD/qtcreator_,.ts) -contains(QT_VERSION, ^4\.[0-5]\..*):ts.commands = @echo This Qt version is too old for the ts target. Need Qt 4.6+. -else:ts.commands = (cd $$IDE_SOURCE_TREE && $$LUPDATE src -ts $$TRANSLATIONS) +MIME_TR_H = $$IDE_DATA_PATH/translations/mime_tr.h + +contains(QT_VERSION, ^4\.[0-5]\..*) { + ts.commands = @echo This Qt version is too old for the ts target. Need Qt 4.6+. +} else { + for(dir, $$list($$files($$IDE_SOURCE_TREE/src/plugins/*))):MIMETYPES_FILES += $$files($$dir/*.mimetypes.xml) + MIMETYPES_FILES = \"$$join(MIMETYPES_FILES, \", \")\" + QMAKE_SUBSTITUTES += extract-mimetypes.xq.in + ts.commands += \ + $$XMLPATTERNS -output $$MIME_TR_H $$PWD/extract-mimetypes.xq && \ + (cd $$IDE_SOURCE_TREE && $$LUPDATE src $$MIME_TR_H -ts $$TRANSLATIONS) && \ + $$QMAKE_DEL_FILE $$MIME_TR_H +} QMAKE_EXTRA_TARGETS += ts TEMPLATE = app diff --git a/src/plugins/coreplugin/mimedatabase.cpp b/src/plugins/coreplugin/mimedatabase.cpp index e18edea733742475d15723a684b27e2eeccfc9be..93652263516d9ef407f333f93137c96cef672302 100644 --- a/src/plugins/coreplugin/mimedatabase.cpp +++ b/src/plugins/coreplugin/mimedatabase.cpp @@ -717,7 +717,7 @@ bool BaseMimeTypeParser::parse(QIODevice *dev, const QString &fileName, QString case ParseComment: { // comments have locale attributes. We want the default, English one QString locale = reader.attributes().value(QLatin1String(localeAttributeC)).toString(); - const QString comment = reader.readElementText(); + const QString comment = QCoreApplication::translate("MimeType", reader.readElementText().toAscii()); if (locale.isEmpty()) { data.comment = comment; } else { diff --git a/src/plugins/coreplugin/sidebar.cpp b/src/plugins/coreplugin/sidebar.cpp index 7e580484b4736a447263b32ca92bae7fad03a357..45e8712fd66ab05072749f7c86c14ce8714f630c 100644 --- a/src/plugins/coreplugin/sidebar.cpp +++ b/src/plugins/coreplugin/sidebar.cpp @@ -56,8 +56,11 @@ SideBar::SideBar(QList<SideBarItem*> itemList, foreach (SideBarItem *item, itemList) { const QString title = item->widget()->windowTitle(); m_itemMap.insert(title, item); - if (defaultVisible.contains(item)) - m_defaultVisible.append(title); + } + foreach (SideBarItem *item, defaultVisible) { + if (!itemList.contains(item)) + continue; + m_defaultVisible.append(item->widget()->windowTitle()); } m_availableItems = m_itemMap.keys(); @@ -166,7 +169,7 @@ void SideBar::readSettings(QSettings *settings) } } else { foreach (const QString &title, m_defaultVisible) - insertSideBarWidget(0, title); + insertSideBarWidget(m_widgets.count(), title); } if (settings->contains("HelpSideBar/Visible"))