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();
if (editor && editor->file()) {
MimeType type = core->mimeDatabase()->findByFile(QFileInfo(editor->file()->fileName()));
QString mimeType = editor->file()->mimeType();
if (type && !type.type().isEmpty())
mimeType = type.type();
foreach (DesignEditorInfo *editorInfo, d->m_editors) {
foreach (const QString &mime, editorInfo->mimeTypes) {
if (mime == mimeType) {
d->m_stackWidget->setCurrentIndex(editorInfo->widgetIndex);
setActiveContext(editorInfo->context);
mimeEditorAvailable = true;
setEnabled(true);
const QString mimeType = editor->file()->mimeType();
if (!mimeType.isEmpty()) {
foreach (DesignEditorInfo *editorInfo, d->m_editors) {
foreach (const QString &mime, editorInfo->mimeTypes) {
if (mime == mimeType) {
d->m_stackWidget->setCurrentIndex(editorInfo->widgetIndex);
setActiveContext(editorInfo->context);
mimeEditorAvailable = true;
setEnabled(true);
break;
}
} // foreach mime
if (mimeEditorAvailable)
break;
}
}
if (mimeEditorAvailable)
break;
} // foreach editorInfo
}
}
if (d->m_currentEditor)