aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormae <qtc-committer@nokia.com>2008-12-12 13:25:43 +0100
committermae <qtc-committer@nokia.com>2008-12-12 13:25:43 +0100
commit18d84955f7c35a38fac504eec9362f559c43e2fc (patch)
tree3c3e0261564eb1c61b86761a307fb53acecc5dce
parent5b8cff20fe2267b9b82614c112925e01be983d92 (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.cpp10
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;
}