QString fileName = index.data(Qt::UserRole + 1).toString();
QString id = index.data(Qt::UserRole + 2).toString();
- openEditor(view, fileName, id, flags);
+ if (!openEditor(view, fileName, id, flags))
+ m_d->m_editorModel->removeEditor(index);
}
Core::IEditor *EditorManager::placeEditor(Core::Internal::EditorView *view, Core::IEditor *editor)
removeEditor(index.row());
}
+void OpenEditorsModel::removeEditor(const QString &fileName)
+{
+ removeEditor(findFileName(fileName));
+}
+
void OpenEditorsModel::removeEditor(int idx)
{
if (idx < 0)
void removeEditor(IEditor *editor);
void removeEditor(const QModelIndex &index);
+ void removeEditor(const QString &fileName);
void removeAllRestoredEditors();
void emitDataChanged(IEditor *editor);
EditorView *view = item->data(0, Qt::UserRole+1).value<EditorView*>();
EditorManager::instance()->activateEditorForFile(view, file, Core::EditorManager::ModeSwitch);
} else {
- EditorManager::instance()->openEditor(item->toolTip(0), item->data(0, Qt::UserRole+2).toByteArray(),
- Core::EditorManager::ModeSwitch);
+ if (!EditorManager::instance()->openEditor(
+ item->toolTip(0), item->data(0, Qt::UserRole+2).toByteArray(),
+ Core::EditorManager::ModeSwitch)) {
+ EditorManager::instance()->openedEditorsModel()->removeEditor(item->toolTip(0));
+ delete item;
+ }
}
}