make inplace activation the default editor activation, unless the

view has been specified. This allows to use the open editors view
as tabbar replacement also in split mode.
This commit is contained in:
mae
2009-02-05 12:15:51 +01:00
parent f679e80c12
commit fb206c3fe2
3 changed files with 7 additions and 9 deletions

View File

@@ -750,12 +750,12 @@ void EditorManager::activateEditor(IEditor *editor, OpenEditorFlags flags)
if (splitterOrView && splitterOrView->splitter()) if (splitterOrView && splitterOrView->splitter())
splitterOrView = 0; // safety if currentView gets out of sync splitterOrView = 0; // safety if currentView gets out of sync
setCurrentView(0); setCurrentView(0);
if (!editor)
return;
if (editor && (flags & ActivateInPlace)) { SplitterOrView *place = m_d->m_splitter->findView(editor);
SplitterOrView *place = m_d->m_splitter->findView(editor); if (place && !place->isSplitter()) {
if (place && !place->isSplitter()) { splitterOrView = place;
splitterOrView = place;
}
} }

View File

@@ -104,9 +104,7 @@ public:
enum OpenEditorFlag { enum OpenEditorFlag {
NoActivate = 1, NoActivate = 1,
IgnoreNavigationHistory = 2, IgnoreNavigationHistory = 2
ActivateInPlace = 4
}; };
Q_DECLARE_FLAGS(OpenEditorFlags, OpenEditorFlag) Q_DECLARE_FLAGS(OpenEditorFlags, OpenEditorFlag)

View File

@@ -235,7 +235,7 @@ void OpenEditorsWindow::selectEditor(QTreeWidgetItem *item)
if (item) if (item)
editor = item->data(0, Qt::UserRole).value<IEditor*>(); editor = item->data(0, Qt::UserRole).value<IEditor*>();
if (editor) if (editor)
EditorManager::instance()->activateEditor(editor, EditorManager::ActivateInPlace); EditorManager::instance()->activateEditor(editor);
} }
void OpenEditorsWindow::editorClicked(QTreeWidgetItem *item) void OpenEditorsWindow::editorClicked(QTreeWidgetItem *item)