diff options
author | mae <qtc-committer@nokia.com> | 2008-12-12 13:25:43 +0100 |
---|---|---|
committer | mae <qtc-committer@nokia.com> | 2008-12-12 13:25:43 +0100 |
commit | 18d84955f7c35a38fac504eec9362f559c43e2fc (patch) | |
tree | 3c3e0261564eb1c61b86761a307fb53acecc5dce | |
parent | 5b8cff20fe2267b9b82614c112925e01be983d92 (diff) |
load the current editor first when restoring, less flicker, plus the focus is
in the right editor from the start
-rw-r--r-- | src/plugins/coreplugin/editormanager/editorgroup.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/plugins/coreplugin/editormanager/editorgroup.cpp b/src/plugins/coreplugin/editormanager/editorgroup.cpp index c146a09f256..2e33f810e03 100644 --- a/src/plugins/coreplugin/editormanager/editorgroup.cpp +++ b/src/plugins/coreplugin/editormanager/editorgroup.cpp @@ -268,16 +268,14 @@ bool EditorGroup::restoreState(const QByteArray &state) EditorManager *em = EditorManager::instance(); EditorList editors; in >> editors; - IEditor *currentEditor = 0; - IEditor *editor; 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) { - editor = em->restoreEditor(editors.fileNameAt(j), editors.editorKindAt(j), this); if (j == savedIndex) - currentEditor = editor; + continue; + em->restoreEditor(editors.fileNameAt(j), editors.editorKindAt(j), this); } - if (currentEditor) - setCurrentEditor(currentEditor); return true; } |