Design mode: Avoid mimedatabase run on currentfile.

Use IFile::mimetype instead to find editors that
use design mode.
Acked-by: Lasse Holmstedt <lasse.holmstedt@nokia.com>
This commit is contained in:
Friedemann Kleint
2010-05-07 14:49:57 +02:00
parent d7d4c982e4
commit 45f5035031

View File

@@ -214,24 +214,21 @@ void DesignMode::currentEditorChanged(Core::IEditor *editor)
Core::ICore *core = Core::ICore::instance(); Core::ICore *core = Core::ICore::instance();
if (editor && editor->file()) { if (editor && editor->file()) {
MimeType type = core->mimeDatabase()->findByFile(QFileInfo(editor->file()->fileName())); const QString mimeType = editor->file()->mimeType();
QString mimeType = editor->file()->mimeType(); if (!mimeType.isEmpty()) {
foreach (DesignEditorInfo *editorInfo, d->m_editors) {
if (type && !type.type().isEmpty()) foreach (const QString &mime, editorInfo->mimeTypes) {
mimeType = type.type(); if (mime == mimeType) {
d->m_stackWidget->setCurrentIndex(editorInfo->widgetIndex);
foreach (DesignEditorInfo *editorInfo, d->m_editors) { setActiveContext(editorInfo->context);
foreach (const QString &mime, editorInfo->mimeTypes) { mimeEditorAvailable = true;
if (mime == mimeType) { setEnabled(true);
d->m_stackWidget->setCurrentIndex(editorInfo->widgetIndex); break;
setActiveContext(editorInfo->context); }
mimeEditorAvailable = true; } // foreach mime
setEnabled(true); if (mimeEditorAvailable)
break; break;
} } // foreach editorInfo
}
if (mimeEditorAvailable)
break;
} }
} }
if (d->m_currentEditor) if (d->m_currentEditor)