diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-02-04 09:32:46 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-02-17 13:00:07 +0000 |
commit | 5a3a940ad3b3984b308b539e7f0456ce11d4d90e (patch) | |
tree | 539ac730a9291e9630c5772d78e5de1d9d4ece1e /src/plugins/texteditor | |
parent | 365c1ddb903ebb8f183195244669499a300431d2 (diff) |
Use new mime database
Change-Id: I4305872b6b11ef3e8a364280ffa5209a5a793600
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r-- | src/plugins/texteditor/TextEditor.mimetypes.xml | 29 | ||||
-rw-r--r-- | src/plugins/texteditor/generichighlighter/manager.cpp | 19 | ||||
-rw-r--r-- | src/plugins/texteditor/generichighlighter/manager.h | 8 | ||||
-rw-r--r-- | src/plugins/texteditor/highlighterutils.cpp | 3 | ||||
-rw-r--r-- | src/plugins/texteditor/highlighterutils.h | 4 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 12 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditor.h | 2 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditor.qrc | 1 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditorplugin.cpp | 4 |
9 files changed, 28 insertions, 54 deletions
diff --git a/src/plugins/texteditor/TextEditor.mimetypes.xml b/src/plugins/texteditor/TextEditor.mimetypes.xml deleted file mode 100644 index 2431241c2e..0000000000 --- a/src/plugins/texteditor/TextEditor.mimetypes.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> -<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> - <mime-type type="text/plain"> - <comment>Plain text document</comment> - <sub-class-of type="application/octet-stream"/> - <glob pattern="*.txt"/> - </mime-type> - <mime-type type="application/xml"> - <alias type="text/xml"/> - <sub-class-of type="text/plain"/> - <comment>XML document</comment> - <glob pattern="*.xml" weight="50"/><!-- reduce weight to allow application/vnd.rim.qnx.bar_descriptor to override by content --> - <glob pattern="*.xsl"/> - <glob pattern="*.xslt"/> - <glob pattern="*.xbl"/> - <alias type="text/xml"/> - </mime-type> - <mime-type type="text/x-asm"> - <sub-class-of type="text/plain"/> - <comment>Assembler</comment> - <glob pattern="*.asm"/> - </mime-type> - <!-- Catch-all for assemblers --> - <mime-type type="text/x-qtcreator-generic-asm"> - <sub-class-of type="text/x-asm"/> - <comment>Qt Creator Generic Assembler</comment> - <glob pattern="*.asm"/> - </mime-type> -</mime-info> diff --git a/src/plugins/texteditor/generichighlighter/manager.cpp b/src/plugins/texteditor/generichighlighter/manager.cpp index 08dc24856b..f625450999 100644 --- a/src/plugins/texteditor/generichighlighter/manager.cpp +++ b/src/plugins/texteditor/generichighlighter/manager.cpp @@ -43,6 +43,7 @@ #include <coreplugin/progressmanager/progressmanager.h> #include <utils/algorithm.h> #include <utils/QtConcurrentTools> +#include <utils/mimetypes/mimedatabase.h> #include <utils/networkaccessmanager.h> #include <QCoreApplication> @@ -150,18 +151,19 @@ static bool matchesPattern(const QString &fileName, DefinitionMetaDataPtr metaDa return false; } -QString Manager::definitionIdByMimeType(const Core::MimeType &mimeType) const +QString Manager::definitionIdByMimeType(const Utils::MimeType &mimeType) const { - QList<Core::MimeType> queue; + Utils::MimeDatabase mdb; + QList<Utils::MimeType> queue; queue.append(mimeType); while (!queue.isEmpty()) { - const Core::MimeType mt = queue.takeFirst(); - const QString id = m_register.m_idByMimeType.value(mt.type()); + const Utils::MimeType mt = queue.takeFirst(); + const QString id = m_register.m_idByMimeType.value(mt.name()); if (!id.isEmpty()) return id; - foreach (const QString &parent, mt.subClassesOf()) { - const Core::MimeType parentMt = Core::MimeDatabase::findByType(parent); - if (!parentMt.isNull()) + foreach (const QString &parent, mt.parentMimeTypes()) { + const Utils::MimeType parentMt = mdb.mimeTypeForName(parent); + if (parentMt.isValid()) queue.append(parentMt); } } @@ -186,7 +188,8 @@ QString Manager::definitionIdByFile(const QString &filePath) const return bestId; } -QString Manager::definitionIdByMimeTypeAndFile(const MimeType &mimeType, const QString &filePath) const +QString Manager::definitionIdByMimeTypeAndFile(const Utils::MimeType &mimeType, + const QString &filePath) const { QString id = definitionIdByMimeType(mimeType); if (!filePath.isEmpty()) { diff --git a/src/plugins/texteditor/generichighlighter/manager.h b/src/plugins/texteditor/generichighlighter/manager.h index 4105f65b64..22de4bbf42 100644 --- a/src/plugins/texteditor/generichighlighter/manager.h +++ b/src/plugins/texteditor/generichighlighter/manager.h @@ -33,8 +33,6 @@ #include "highlightdefinitionmetadata.h" -#include <coreplugin/mimedatabase.h> - #include <QString> #include <QHash> #include <QSet> @@ -51,6 +49,8 @@ class QIODevice; template <class> class QFutureInterface; QT_END_NAMESPACE +namespace Utils { class MimeType; } + namespace TextEditor { namespace Internal { @@ -69,9 +69,9 @@ public: static Manager *instance(); QString definitionIdByName(const QString &name) const; - QString definitionIdByMimeType(const Core::MimeType &mimeType) const; + QString definitionIdByMimeType(const Utils::MimeType &mimeType) const; QString definitionIdByFile(const QString &filePath) const; - QString definitionIdByMimeTypeAndFile(const Core::MimeType &mimeType, + QString definitionIdByMimeTypeAndFile(const Utils::MimeType &mimeType, const QString &filePath) const; DefinitionMetaDataPtr availableDefinitionByName(const QString &name) const; diff --git a/src/plugins/texteditor/highlighterutils.cpp b/src/plugins/texteditor/highlighterutils.cpp index 2c0dc7b6fa..57b1dd8577 100644 --- a/src/plugins/texteditor/highlighterutils.cpp +++ b/src/plugins/texteditor/highlighterutils.cpp @@ -33,11 +33,12 @@ #include "generichighlighter/highlightdefinition.h" #include "generichighlighter/manager.h" #include <coreplugin/icore.h> +#include <utils/mimetypes/mimetype.h> using namespace TextEditor; using namespace Internal; -void TextEditor::setMimeTypeForHighlighter(Highlighter *highlighter, const Core::MimeType &mimeType, +void TextEditor::setMimeTypeForHighlighter(Highlighter *highlighter, const Utils::MimeType &mimeType, const QString &filePath, QString *foundDefinitionId) { QString definitionId = Manager::instance()->definitionIdByMimeTypeAndFile(mimeType, filePath); diff --git a/src/plugins/texteditor/highlighterutils.h b/src/plugins/texteditor/highlighterutils.h index 0d9a9b0942..683b98ca2e 100644 --- a/src/plugins/texteditor/highlighterutils.h +++ b/src/plugins/texteditor/highlighterutils.h @@ -38,13 +38,13 @@ * but due to a very hackish test of that generic highlighter, * there functions must be outside. */ -namespace Core { class MimeType; } +namespace Utils { class MimeType; } namespace TextEditor { class Highlighter; -void setMimeTypeForHighlighter(Highlighter *highlighter, const Core::MimeType &mimeType, +void setMimeTypeForHighlighter(Highlighter *highlighter, const Utils::MimeType &mimeType, const QString &filePath, QString *foundDefinitionId = 0); diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 56adaf2829..632bb1c18c 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -74,6 +74,7 @@ #include <utils/linecolumnlabel.h> #include <utils/fileutils.h> #include <utils/hostosinfo.h> +#include <utils/mimetypes/mimedatabase.h> #include <utils/qtcassert.h> #include <utils/stylehelper.h> #include <utils/tooltip/tooltip.h> @@ -2735,7 +2736,8 @@ void TextEditorWidgetPrivate::updateCodeFoldingVisible() void TextEditorWidgetPrivate::reconfigure() { - m_document->setMimeType(MimeDatabase::findByFile(m_document->filePath().toString()).type()); + Utils::MimeDatabase mdb; + m_document->setMimeType(mdb.mimeTypeForFile(m_document->filePath().toString()).name()); q->configureGenericHighlighter(); } @@ -7109,7 +7111,8 @@ bool BaseTextEditor::open(QString *errorString, const QString &fileName, const Q { if (!editorWidget()->open(errorString, fileName, realFileName)) return false; - textDocument()->setMimeType(MimeDatabase::findByFile(QFileInfo(fileName)).type()); + Utils::MimeDatabase mdb; + textDocument()->setMimeType(mdb.mimeTypeForFile(fileName).name()); return true; } @@ -7173,8 +7176,9 @@ void TextEditorWidget::configureGenericHighlighter() setCodeFoldingSupported(false); const QString type = textDocument()->mimeType(); - const MimeType mimeType = MimeDatabase::findByType(type); - if (!mimeType.isNull()) { + Utils::MimeDatabase mdb; + const Utils::MimeType mimeType = mdb.mimeTypeForName(type); + if (mimeType.isValid()) { d->m_isMissingSyntaxDefinition = true; QString definitionId; diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h index 6634cd2b23..1ba72e2b36 100644 --- a/src/plugins/texteditor/texteditor.h +++ b/src/plugins/texteditor/texteditor.h @@ -59,8 +59,6 @@ class QRect; class QTextBlock; QT_END_NAMESPACE -namespace Core { class MimeType; } - namespace TextEditor { class BaseHoverHandler; diff --git a/src/plugins/texteditor/texteditor.qrc b/src/plugins/texteditor/texteditor.qrc index 49b0b46325..c58205cd2c 100644 --- a/src/plugins/texteditor/texteditor.qrc +++ b/src/plugins/texteditor/texteditor.qrc @@ -2,7 +2,6 @@ <qresource prefix="/texteditor"> <file>images/finddocuments.png</file> <file>images/finddirectory.png</file> - <file>TextEditor.mimetypes.xml</file> <file>images/refactormarker.png</file> <file>images/snippet.png</file> <file>images/f1.png</file> diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index efa8d8b4bd..88ac6b4469 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -91,9 +91,7 @@ TextEditorPlugin::~TextEditorPlugin() bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMessage) { Q_UNUSED(arguments) - - if (!MimeDatabase::addMimeTypes(QLatin1String(":/texteditor/TextEditor.mimetypes.xml"), errorMessage)) - return false; + Q_UNUSED(errorMessage) m_settings = new TextEditorSettings(this); |