load the current editor first when restoring, less flicker, plus the focus is

in the right editor from the start
This commit is contained in:
mae
2008-12-12 13:25:43 +01:00
parent 5b8cff20fe
commit 18d84955f7

View File

@@ -268,16 +268,14 @@ bool EditorGroup::restoreState(const QByteArray &state)
EditorManager *em = EditorManager::instance(); EditorManager *em = EditorManager::instance();
EditorList editors; EditorList editors;
in >> editors; in >> editors;
IEditor *currentEditor = 0;
IEditor *editor;
int savedIndex = editors.currentEditorIndex; int savedIndex = editors.currentEditorIndex;
if (savedIndex >= 0 && savedIndex < editors.count())
em->restoreEditor(editors.fileNameAt(savedIndex), editors.editorKindAt(savedIndex), this);
for (int j = 0; j < editors.count(); ++j) { for (int j = 0; j < editors.count(); ++j) {
editor = em->restoreEditor(editors.fileNameAt(j), editors.editorKindAt(j), this);
if (j == savedIndex) if (j == savedIndex)
currentEditor = editor; continue;
em->restoreEditor(editors.fileNameAt(j), editors.editorKindAt(j), this);
} }
if (currentEditor)
setCurrentEditor(currentEditor);
return true; return true;
} }