aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-02-04 09:32:46 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2015-02-17 13:00:07 +0000
commit5a3a940ad3b3984b308b539e7f0456ce11d4d90e (patch)
tree539ac730a9291e9630c5772d78e5de1d9d4ece1e /src/plugins/texteditor
parent365c1ddb903ebb8f183195244669499a300431d2 (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.xml29
-rw-r--r--src/plugins/texteditor/generichighlighter/manager.cpp19
-rw-r--r--src/plugins/texteditor/generichighlighter/manager.h8
-rw-r--r--src/plugins/texteditor/highlighterutils.cpp3
-rw-r--r--src/plugins/texteditor/highlighterutils.h4
-rw-r--r--src/plugins/texteditor/texteditor.cpp12
-rw-r--r--src/plugins/texteditor/texteditor.h2
-rw-r--r--src/plugins/texteditor/texteditor.qrc1
-rw-r--r--src/plugins/texteditor/texteditorplugin.cpp4
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);