clear navigation history when switching sessions

This commit is contained in:
mae
2009-06-05 15:41:57 +02:00
parent 8fb4a61509
commit abe58a77cc

View File

@@ -165,6 +165,10 @@ struct EditorManagerPrivate {
QList<IEditor *> m_editorHistory; QList<IEditor *> m_editorHistory;
QList<EditLocation *> m_navigationHistory; QList<EditLocation *> m_navigationHistory;
void clearNavigationHistory() {
qDeleteAll(m_navigationHistory);
m_navigationHistory.clear();
}
int currentNavigationHistoryPosition; int currentNavigationHistoryPosition;
Internal::OpenEditorsWindow *m_windowPopup; Internal::OpenEditorsWindow *m_windowPopup;
Core::BaseView *m_openEditorsView; Core::BaseView *m_openEditorsView;
@@ -205,8 +209,7 @@ EditorManagerPrivate::EditorManagerPrivate(ICore *core, QWidget *parent) :
EditorManagerPrivate::~EditorManagerPrivate() EditorManagerPrivate::~EditorManagerPrivate()
{ {
qDeleteAll(m_navigationHistory); clearNavigationHistory();
m_navigationHistory.clear();
} }
EditorManager *EditorManager::m_instance = 0; EditorManager *EditorManager::m_instance = 0;
@@ -654,7 +657,11 @@ QList<IFile *> EditorManager::filesForEditors(QList<IEditor *> editors) const
bool EditorManager::closeAllEditors(bool askAboutModifiedEditors) bool EditorManager::closeAllEditors(bool askAboutModifiedEditors)
{ {
m_d->m_editorModel->removeAllRestoredEditors(); m_d->m_editorModel->removeAllRestoredEditors();
return closeEditors(openedEditors(), askAboutModifiedEditors); if (closeEditors(openedEditors(), askAboutModifiedEditors)) {
m_d->clearNavigationHistory();
return true;
}
return false;
} }
void EditorManager::closeOtherEditors() void EditorManager::closeOtherEditors()